gdk/directfb: convert gdkcolor-directfb to using G_DEFINE_TYPE
authorAndré Draszik <gtk@andred.net>
Sun, 13 Sep 2009 13:08:21 +0000 (14:08 +0100)
committerTristan Van Berkom <tristan.van.berkom@gmail.com>
Sun, 4 Apr 2010 00:56:07 +0000 (20:56 -0400)
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=609191

Signed-off-by: Javier Jardón <jjardon@gnome.org>
gdk/directfb/gdkcolor-directfb.c

index e3ecdd24b4e25e9aaa86ab74c0b03bc8a2b4dfa7..298013346e4d0e58866acce40eaab63ee24e1b6a 100644 (file)
@@ -51,9 +51,7 @@ typedef struct {
 } GdkColormapPrivateDirectFB;
 
 
-static void  gdk_colormap_init          (GdkColormap      *colormap);
-static void  gdk_colormap_class_init    (GdkColormapClass *klass);
-static void  gdk_colormap_finalize      (GObject          *object);
+static void  gdk_colormap_finalize (GObject *object);
 
 static gint  gdk_colormap_alloc_pseudocolors (GdkColormap *colormap,
                                               GdkColor    *colors,
@@ -64,35 +62,7 @@ static gint  gdk_colormap_alloc_pseudocolors (GdkColormap *colormap,
 static void  gdk_directfb_allocate_color_key (GdkColormap *colormap);
 
 
-static GObjectClass *parent_class = NULL;
-
-
-GType
-gdk_colormap_get_type (void)
-{
-  static GType object_type = 0;
-
-  if (!object_type) {
-    const GTypeInfo object_info =
-      {
-        sizeof (GdkColormapClass),
-        (GBaseInitFunc) NULL,
-        (GBaseFinalizeFunc) NULL,
-        (GClassInitFunc) gdk_colormap_class_init,
-        NULL,           /* class_finalize */
-        NULL,           /* class_data */
-        sizeof (GdkColormap),
-        0,              /* n_preallocs */
-        (GInstanceInitFunc) gdk_colormap_init,
-      };
-
-    object_type = g_type_register_static (G_TYPE_OBJECT,
-                                          "GdkColormap",
-                                          &object_info, 0);
-  }
-
-  return object_type;
-}
+G_DEFINE_TYPE (GdkColormap, gdk_colormap, G_TYPE_OBJECT)
 
 static void
 gdk_colormap_init (GdkColormap *colormap)
@@ -107,8 +77,6 @@ gdk_colormap_class_init (GdkColormapClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
 
-  parent_class = g_type_class_peek_parent (klass);
-
   object_class->finalize = gdk_colormap_finalize;
 }
 
@@ -119,7 +87,6 @@ gdk_colormap_finalize (GObject *object)
   GdkColormapPrivateDirectFB *private  = colormap->windowing_data;
 
   g_free (colormap->colors);
-  colormap->colors = NULL;
 
   if (private)
     {
@@ -132,7 +99,7 @@ gdk_colormap_finalize (GObject *object)
       colormap->windowing_data = NULL;
     }
 
-  G_OBJECT_CLASS (parent_class)->finalize (object);
+  G_OBJECT_CLASS (gdk_colormap_parent_class)->finalize (object);
 }
 
 GdkColormap*